被用來合併兩個或多個陣列。此方法不會改變現有的陣列,回傳一個包含呼叫者陣列本身的值,作為代替的是回傳一個新陣列
//.合併兩個陣列並去除重複項
// 給定兩個數字陣列,使用 concat 方法合併它們,然後使用 Set 或其他方法去除重複的項目。
const morePeople = [
{ name: "Zoe", age: 28 },
{ name: "Liam", age: 32 },
{ name: "Emma", age: 26 },
{ name: "Noah", age: 30 },
{ name: "Olivia", age: 24 },
// 重複的人員資料
{ name: "Emma", age: 26 },
{ name: "Noah", age: 30 },
// 新增的人員資料
{ name: "Ava", age: 22 },
{ name: "Mia", age: 27 },
];
// 步驟 1: 將對象轉換為字符串並記錄過程
const stringifiedPeople = morePeople.map((data) => {
const stringifiedData = JSON.stringify(data);
console.log(`第1步:轉換為字符串: ${stringifiedData}`);
return stringifiedData;
});
// 步驟 2: 創建一個集合以移除重複項並記錄中間的集合
const uniqueStringifiedPeopleSet = new Set(stringifiedPeople);
console.log(`第2步:唯一集合:`, uniqueStringifiedPeopleSet);
// 步驟 3: 將字符串轉回對象並記錄最終數組
const newpeopleObjData = Array.from(uniqueStringifiedPeopleSet).map((data) => {
const parsedData = JSON.parse(data);
console.log(`第3步:解析為對象:`, parsedData);
return parsedData;
});
console.log(`第4步:最終數組:`, newpeopleObjData);